package com.demo.timerDemo;

import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
    public static void main(String[] args) {
        TimerDemo timerDemo = new TimerDemo();
        timerDemo.timer();
    }

    public void timer(){
        Timer timer = new Timer();
        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                System.out.println("1234");

            }
        };
//        timer.schedule(timerTask,2000);  //两秒后开始执行
        timer.schedule(timerTask,2000,5000);  //每隔5秒执行一次
    }

//    public static void main(String[] args) {
//        ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
//
//        // 早上9点执行任务
//        executor.scheduleAtFixedRate(() -> {
//            // 在这里编写你的代码逻辑
//            System.out.println("代码执行时间：早上9点");
//        }, getInitialDelay(9), 24 * 60 * 60, TimeUnit.SECONDS);
//
//        // 下午3点执行任务
//        executor.scheduleAtFixedRate(() -> {
//            // 在这里编写你的代码逻辑
//            System.out.println("代码执行时间：下午3点");
//        }, getInitialDelay(15), 24 * 60 * 60, TimeUnit.SECONDS);
//    }
//
//    private static long getInitialDelay(int targetHour) {
//        long now = System.currentTimeMillis();
//        long targetTime = getTimeToday(targetHour);
//        if (now > targetTime) {
//            targetTime += 24 * 60 * 60 * 1000; // 如果当前时间已经过了目标时间，则在第二天执行
//        }
//        return targetTime - now;
//    }
//
//    private static long getTimeToday(int targetHour) {
//        long now = System.currentTimeMillis();
//        long today = now - (now % (24 * 60 * 60 * 1000)); // 今天零点
//        return today + targetHour * 60 * 60 * 1000;
//    }
}
